class Solution {
    //尽量跳大的步骤
    public boolean canJump(int[] nums) {
        int maxReach = 0; // 当前能够到达的最远位置

        for (int i = 0; i < nums.length; i++) {
            if (i > maxReach) {
                return false; // 当前位置超过了最远位置，无法继续跳跃
            }

            maxReach = Math.max(maxReach, i + nums[i]);

            if (maxReach >= nums.length - 1) {
                return true; // 已经能够到达最后一个下标，返回 true
            }
        }

        return false;
    }
}
